package mac5855.app.models;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "perguntas")
public class Pergunta {
	@Id
	private Integer id;
	private Usuario usuario;
	private Categoria categoria;
	private String titulo;
	private Date data;
	private Integer votoPositivo;
	private Integer votoNegativo;
	private boolean isFavorite;
	private Resposta[] respostas;

	public Resposta[] getRespostas() {
		return respostas;
	}

	public void setRespostas(Resposta[] respostas) {
		this.respostas = respostas;
	}

	public Pergunta() {
		super();
		// TODO Auto-generated constructor stub
	}

	public boolean isFavorite() {
		return isFavorite;
	}

	public void setFavorite(boolean isFavorite) {
		this.isFavorite = isFavorite;
	}

	public Integer getVotoPositivo() {
		return votoPositivo;
	}

	public void setVotoPositivo(Integer votoPositivo) {
		this.votoPositivo = votoPositivo;
	}

	public Integer getVotoNegativo() {
		return votoNegativo;
	}

	public void setVotoNegativo(Integer votoNegativo) {
		this.votoNegativo = votoNegativo;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Categoria getCategoria() {
		return categoria;
	}

	public void setCategoria(Categoria categoria) {
		this.categoria = categoria;
	}

	public boolean ehMaisNova(Pergunta ultimaPerguntaVista) {

		return this.id > ultimaPerguntaVista.id;
	}

	public String toXML() {
		String xml = "<nome>" + this.titulo + "</nome>\n<id>" + this.getId()
				+ "</id>";
		xml += "<voto_positivo>" + this.getVotoPositivo()
				+ "</voto_positivo>\n";
		xml += "<voto_negativo>" + this.getVotoNegativo() + "</voto_negativo>";
		return xml;
	}

	public String toJson() {

		String json = "\"nome\": \"" + this.getTitulo() + "\",\n";
		json += "\"id\": \"" + this.getId() + "\",\n";
		json += "\"voto_positivo\": \"" + this.getVotoPositivo() + "\",\n";
		json += "\"voto_negativo\": \"" + this.getVotoNegativo() + "\"\n";
		return json;

	}

}
